﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace MapColoring.MontadorMapa
{
    /// <summary>
    /// Representa um triângulo do mapa. É equivalente a uma das variáveis do problema CSP
    /// </summary>
    public class Triangulo
    {
        #region Campos Privados

        private int id;

        private Ponto[] vertices = new Ponto[3];
    
        #endregion

        #region Propriedades

        /// <summary>
        /// Identificador do triângulo (utilizado para testes)
        /// </summary>
        public int Id
        {
            get { return id; }
        }

        /// <summary>
        /// Vértices do triângulo
        /// </summary>
        public Ponto[] Vertices
        {
            get { return vertices; }
            set { vertices = value; }
        }

        #endregion

        #region Construtor

        /// <summary>
        /// Representa um triângulo do mapa. É equivalente a uma das variáveis do problema CSP
        /// </summary>
        /// <param name="p1">Ponto 1</param>
        /// <param name="p2">Ponto 2</param>
        /// <param name="p3">Ponto 3</param>
        public Triangulo(Ponto p1, Ponto p2, Ponto p3, int id)
        {
            this.id = id;

            this.vertices[0] = p1;
            this.vertices[1] = p2;
            this.vertices[2] = p3;
        }

        #endregion
    }
}
